Popular reporting software used for reporting of multi-dimensional data provide various methods of filtering reports based on different dimensions. For example, a retail company selling merchandise using the Internet can use a spreadsheet to report the sales orders by the region, by the product, by the quarter, etc. An example sales order report used by a sales executive in a retail company includes the individual rows displaying sales orders for particular countries and the individual column displaying sales orders for particular calendar years. The sales executive shares such a sales order report with the other stakeholders in the company, such as the marketing executives, the board of directors, etc.
However, it is difficult for the sales executive to envision the kind of data analysis used by the other stakeholders. For example, a marketing executive is interested in the sales orders by the gender, whereas a financial executive is interested in the sales orders by the product profit margin. It is difficult for the sales executive creating the sales order report to take such diverse needs into consideration when creating the report. On the other hand, because the marketing executive does not know the structure used by the sales executive to generate the sales order report, it would be difficult for the marketing executive to explore the multi-dimensional data behind the sales order report. Especially, the needs of the marketing executive to drill down into the product data behind the various cells of the sales order report is different than the needs of the financial executive to drill down into the profit margin data. As a result, each of the stakeholders ends up using considerable amount of time reconfiguring and reformatting the sales order reports to extract the information in which they are interested.